﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dados_;
using System.ComponentModel;

namespace Negocios
{

    [DataObject]
    public class PacoteBoMetodos
    {
        [DataObjectMethod(DataObjectMethodType.Insert,true)]
        public bool Inserir(PacoteBO pBO)
        {
            PacoteSQL pSQL = new PacoteSQL();
            PacoteVO Pvo = new PacoteVO();
            
            Pvo.Nome = pBO.Nome;
            Pvo.Data = pBO.Data;
            Pvo.Valor = pBO.Valor;

            return (pSQL.Inserir(Pvo)==1);
        }
        [DataObjectMethod(DataObjectMethodType.Update, true)]
        public bool Alterar(PacoteBO pBO)
        {
            PacoteSQL pSQL = new PacoteSQL();
            PacoteVO Pvo = new PacoteVO();

            Pvo.Id = pBO.Id;
            Pvo.Nome = pBO.Nome;
            Pvo.Data = pBO.Data;
            Pvo.Valor = pBO.Valor;

            return (pSQL.Alterar(Pvo)==1);

        }
        [DataObjectMethod(DataObjectMethodType.Delete, true)]
        public bool Excluir(int Id)
        {
            PacoteSQL pSQL = new PacoteSQL();
            PacoteVO Pvo = new PacoteVO();
            Pvo.Id = Id;
            return (pSQL.Excluir(Pvo)==1);
        }
        [DataObjectMethod(DataObjectMethodType.Select, false)] 
        public PacoteBO Consultar(int id)
        {
            PacoteSQL pSQL = new PacoteSQL();
            PacoteVO pVO = pSQL.Consultar(id);
            PacoteBO pBO = new PacoteBO();
            pBO.Id   = pVO.Id;
            pBO.Nome = pVO.Nome;
            pBO.Data = pVO.Data;
            pBO.Valor = pVO.Valor;

            return pBO;

        }

        [DataObjectMethod(DataObjectMethodType.Select, true)]
        public List<PacoteBO> Consultar(String nome)
        { 
            PacoteSQL pSQL = new PacoteSQL();
            List<PacoteVO> lpVO = pSQL.Consultar(nome);
            List<PacoteBO> lpBO = new List<PacoteBO>();
            
            foreach (PacoteVO pVO in lpVO)
            {
               PacoteBO pBO = new PacoteBO();
               pBO.Id = pVO.Id;
               pBO.Nome = pVO.Nome;    
               pBO.Data = pVO.Data;
               pBO.Valor = pVO.Valor;
               lpBO.Add(pBO);
            }
            return lpBO;

            }
                 
       }
}